package com.aiowang.springboot.single.activemq.interfaces;

import java.io.IOException;

/**
 * @author aiowang
 * @date 2020-03-23 21:32
 */

public interface SingleActiveMQTransportListener {

    /**
     * 对消息传输命令进行监控
     * @param object
     * @param activeMQSeverName 当前服务名
     */
    void onCommand(Object object, String activeMQSeverName);

    /**
     * 对监控到的异常进行触发
     * @param error 错误
     * @param activeMQSeverName 服务名
     */
    void onException(IOException error, String activeMQSeverName);

    /**
     * 当failover时触发
     * @param activeMQSeverName 当前服务名
     */
    void transportInterupted(String activeMQSeverName);

    /**
     * 监控到failover恢复后进行触发
     * @param activeMQSeverName 当前服务名
     */
    void transportResumed(String activeMQSeverName);
}
